package com.ourteam.product.model.dao;

import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Map;


/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:01:06
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public class ProductModelServiceDAOQueryBean extends BaseQueryBean {
    public ProductModelServiceDAOQueryBean() {
        super();
    }

    public ProductModelServiceDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }

    public ProductModelServiceDAOQueryBean(BaseQueryBean aQueryBean,
        Map tableReplaceMap) {
        super(aQueryBean, tableReplaceMap);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();

        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }

        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria(this);
    }

    public void addIdSelectProperty() {
        addIdSelectProperty("id");
    }

    public void addIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.Id, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.Id, "id");
        }
    }

    public void addObjectIdSelectProperty() {
        addObjectIdSelectProperty("objectId");
    }

    public void addObjectIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ObjectId, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ObjectId, "objectId");
        }
    }

    public void addServiceCodeSelectProperty() {
        addServiceCodeSelectProperty("serviceCode");
    }

    public void addServiceCodeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ServiceCode, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ServiceCode, "serviceCode");
        }
    }

    public void addServiceNameSelectProperty() {
        addServiceNameSelectProperty("serviceName");
    }

    public void addServiceNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ServiceName, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ServiceName, "serviceName");
        }
    }

    public void addStatusSelectProperty() {
        addStatusSelectProperty("status");
    }

    public void addStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.Status, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.Status, "status");
        }
    }

    public void addRemarksSelectProperty() {
        addRemarksSelectProperty("remarks");
    }

    public void addRemarksSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.Remarks, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.Remarks, "remarks");
        }
    }

    public void addCanTestSelectProperty() {
        addCanTestSelectProperty("canTest");
    }

    public void addCanTestSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.CanTest, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.CanTest, "canTest");
        }
    }

    public void addSubmitterIdSelectProperty() {
        addSubmitterIdSelectProperty("submitterId");
    }

    public void addSubmitterIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.SubmitterId, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.SubmitterId, "submitterId");
        }
    }

    public void addCreatorNameSelectProperty() {
        addCreatorNameSelectProperty("creatorName");
    }

    public void addCreatorNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.CreatorName, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.CreatorName, "creatorName");
        }
    }

    public void addCreateTimeSelectProperty() {
        addCreateTimeSelectProperty("createTime");
    }

    public void addCreateTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.CreateTime, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.CreateTime, "createTime");
        }
    }

    public void addLastModifierNameSelectProperty() {
        addLastModifierNameSelectProperty("lastModifierName");
    }

    public void addLastModifierNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.LastModifierName, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.LastModifierName,
                "lastModifierName");
        }
    }

    public void addLastModifyTimeSelectProperty() {
        addLastModifyTimeSelectProperty("lastModifyTime");
    }

    public void addLastModifyTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.LastModifyTime, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.LastModifyTime,
                "lastModifyTime");
        }
    }

    public void addObjectNameSelectProperty() {
        addObjectNameSelectProperty("objectName");
    }

    public void addObjectNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ObjectName, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ObjectName, "objectName");
        }
    }

    public void addObjectCodeSelectProperty() {
        addObjectCodeSelectProperty("objectCode");
    }

    public void addObjectCodeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ObjectCode, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ObjectCode, "objectCode");
        }
    }

    public void addObjectTypeSelectProperty() {
        addObjectTypeSelectProperty("objectType");
    }

    public void addObjectTypeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ObjectType, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ObjectType, "objectType");
        }
    }

    public void addObjectStatusSelectProperty() {
        addObjectStatusSelectProperty("objectStatus");
    }

    public void addObjectStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductModelServiceDAO.ObjectStatus, aAlias);
        } else {
            addSelectProperty(IProductModelServiceDAO.ObjectStatus,
                "objectStatus");
        }
    }

    public void addAllSelectProperties() {
        addIdSelectProperty();

        addObjectIdSelectProperty();

        addServiceCodeSelectProperty();

        addServiceNameSelectProperty();

        addStatusSelectProperty();

        addRemarksSelectProperty();

        addCanTestSelectProperty();

        addSubmitterIdSelectProperty();

        addCreatorNameSelectProperty();

        addCreateTimeSelectProperty();

        addLastModifierNameSelectProperty();

        addLastModifyTimeSelectProperty();

        addObjectNameSelectProperty();

        addObjectCodeSelectProperty();

        addObjectTypeSelectProperty();

        addObjectStatusSelectProperty();
    }

    public static class Criteria extends BaseWhereCriterion<ProductModelServiceDAOQueryBean> {
        protected Criteria(ProductModelServiceDAOQueryBean aParentObject) {
            super(aParentObject);
        }

        public Criteria andIdIsNull() {
            addCriterion(IProductModelServiceDAO.Id + " is null");

            return this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion(IProductModelServiceDAO.Id + " is not null");

            return this;
        }

        public Criteria andIdIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.Id + " is not null AND " +
                IProductModelServiceDAO.Id + " <> ''");

            return this;
        }

        public Criteria andIdIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.Id + " is null OR " +
                IProductModelServiceDAO.Id + " = '')");

            return this;
        }

        public Criteria andIdEqualTo(long value) {
            return andIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIdEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " = ", value, "id");

            return this;
        }

        public Criteria andIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Id);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotEqualTo(long value) {
            return andIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToOrIsNull(long value) {
            return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " is null OR " +
                IProductModelServiceDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Id);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThan(long value) {
            return andIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " >", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Id);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(long value) {
            return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " >=", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Id);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThan(long value) {
            return andIdLessThan(Long.valueOf(value));
        }

        public Criteria andIdLessThan(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " <", value, "id");

            return this;
        }

        public Criteria andIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Id);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(long value) {
            return andIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.Id + " <=", value, "id");

            return this;
        }

        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Id);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdIn(long[] values) {
            if (values.length == 1) {
                return andIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Id + " not in", values,
                    "id");

                return this;
            }
        }

        public Criteria andIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.Id + " not in", values,
                    "id");

                return this;
            }
        }

        public Criteria andIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Id + " in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Id + " not in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Id + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andIdBetween(long value1, long value2) {
            addCriterion(IProductModelServiceDAO.Id + " between", value1,
                value2, "id");

            return this;
        }

        public Criteria andIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceDAO.Id + " between", value1,
                value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(long value1, long value2) {
            addCriterion(IProductModelServiceDAO.Id + " not between", value1,
                value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceDAO.Id + " not between", value1,
                value2, "id");

            return this;
        }

        public Criteria andObjectIdIsNull() {
            addCriterion(IProductModelServiceDAO.ObjectId + " is null");

            return this;
        }

        public Criteria andObjectIdIsNotNull() {
            addCriterion(IProductModelServiceDAO.ObjectId + " is not null");

            return this;
        }

        public Criteria andObjectIdIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ObjectId +
                " is not null AND " + IProductModelServiceDAO.ObjectId +
                " <> ''");

            return this;
        }

        public Criteria andObjectIdIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ObjectId +
                " is null OR " + IProductModelServiceDAO.ObjectId + " = '')");

            return this;
        }

        public Criteria andObjectIdEqualTo(long value) {
            return andObjectIdEqualTo(Long.valueOf(value));
        }

        public Criteria andObjectIdEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " = ", value,
                "objectId");

            return this;
        }

        public Criteria andObjectIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdNotEqualTo(long value) {
            return andObjectIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andObjectIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " <>", value,
                "objectId");

            return this;
        }

        public Criteria andObjectIdNotEqualToOrIsNull(long value) {
            return andObjectIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andObjectIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " is null OR " +
                IProductModelServiceDAO.ObjectId + " <>", value, "objectId");

            return this;
        }

        public Criteria andObjectIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdGreaterThan(long value) {
            return andObjectIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andObjectIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " >", value,
                "objectId");

            return this;
        }

        public Criteria andObjectIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdGreaterThanOrEqualTo(long value) {
            return andObjectIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andObjectIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " >=", value,
                "objectId");

            return this;
        }

        public Criteria andObjectIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdLessThan(long value) {
            return andObjectIdLessThan(Long.valueOf(value));
        }

        public Criteria andObjectIdLessThan(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " <", value,
                "objectId");

            return this;
        }

        public Criteria andObjectIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdLessThanOrEqualTo(long value) {
            return andObjectIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andObjectIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.ObjectId + " <=", value,
                "objectId");

            return this;
        }

        public Criteria andObjectIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdIn(long[] values) {
            if (values.length == 1) {
                return andObjectIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectId + " in", values,
                    "objectId");

                return this;
            }
        }

        public Criteria andObjectIdNotIn(long[] values) {
            if (values.length == 1) {
                return andObjectIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectId + " not in",
                    values, "objectId");

                return this;
            }
        }

        public Criteria andObjectIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andObjectIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectId + " in", values,
                    "objectId");

                return this;
            }
        }

        public Criteria andObjectIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andObjectIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectId + " not in",
                    values, "objectId");

                return this;
            }
        }

        public Criteria andObjectIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andObjectIdEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectId + " in",
                    Arrays.asList(values), "objectId");

                return this;
            }
        }

        public Criteria andObjectIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andObjectIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectId + " not in",
                    Arrays.asList(values), "objectId");

                return this;
            }
        }

        public Criteria andObjectIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectId + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectIdBetween(long value1, long value2) {
            addCriterion(IProductModelServiceDAO.ObjectId + " between", value1,
                value2, "objectId");

            return this;
        }

        public Criteria andObjectIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceDAO.ObjectId + " between", value1,
                value2, "objectId");

            return this;
        }

        public Criteria andObjectIdNotBetween(long value1, long value2) {
            addCriterion(IProductModelServiceDAO.ObjectId + " not between",
                value1, value2, "objectId");

            return this;
        }

        public Criteria andObjectIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceDAO.ObjectId + " not between",
                value1, value2, "objectId");

            return this;
        }

        public Criteria andServiceCodeIsNull() {
            addCriterion(IProductModelServiceDAO.ServiceCode + " is null");

            return this;
        }

        public Criteria andServiceCodeIsNotNull() {
            addCriterion(IProductModelServiceDAO.ServiceCode + " is not null");

            return this;
        }

        public Criteria andServiceCodeIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ServiceCode +
                " is not null AND " + IProductModelServiceDAO.ServiceCode +
                " <> ''");

            return this;
        }

        public Criteria andServiceCodeIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ServiceCode +
                " is null OR " + IProductModelServiceDAO.ServiceCode +
                " = '')");

            return this;
        }

        public Criteria andServiceCodeEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " = ", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceCode);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceCodeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " <>", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " is null OR " +
                IProductModelServiceDAO.ServiceCode + " <>", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceCode);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceCodeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " >", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceCode);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceCodeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " >=", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceCode);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceCodeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeLessThan(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " <", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceCode);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceCodeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " <=", value,
                "serviceCode");

            return this;
        }

        public Criteria andServiceCodeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceCode);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceCodeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ServiceCode + " like",
                buffer.toString(), "serviceCode");

            return this;
        }

        public Criteria andServiceCodeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ServiceCode + " not like",
                buffer.toString(), "serviceCode");

            return this;
        }

        public Criteria andServiceCodeIn(List<String> values) {
            if (values.size() == 1) {
                return andServiceCodeEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ServiceCode + " in",
                    values, "serviceCode");

                return this;
            }
        }

        public Criteria andServiceCodeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andServiceCodeNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ServiceCode + " not in",
                    values, "serviceCode");

                return this;
            }
        }

        public Criteria andServiceCodeIn(String[] values) {
            if (values.length == 1) {
                return andServiceCodeEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ServiceCode + " in",
                    Arrays.asList(values), "serviceCode");

                return this;
            }
        }

        public Criteria andServiceCodeNotIn(String[] values) {
            if (values.length == 1) {
                return andServiceCodeNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ServiceCode + " not in",
                    Arrays.asList(values), "serviceCode");

                return this;
            }
        }

        public Criteria andServiceCodeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceCodeBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " between",
                value1, value2, "serviceCode");

            return this;
        }

        public Criteria andServiceCodeNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ServiceCode + " not between",
                value1, value2, "serviceCode");

            return this;
        }

        public Criteria andServiceNameIsNull() {
            addCriterion(IProductModelServiceDAO.ServiceName + " is null");

            return this;
        }

        public Criteria andServiceNameIsNotNull() {
            addCriterion(IProductModelServiceDAO.ServiceName + " is not null");

            return this;
        }

        public Criteria andServiceNameIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ServiceName +
                " is not null AND " + IProductModelServiceDAO.ServiceName +
                " <> ''");

            return this;
        }

        public Criteria andServiceNameIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ServiceName +
                " is null OR " + IProductModelServiceDAO.ServiceName +
                " = '')");

            return this;
        }

        public Criteria andServiceNameEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " = ", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " <>", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " is null OR " +
                IProductModelServiceDAO.ServiceName + " <>", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " >", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " >=", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameLessThan(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " <", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ServiceName + " <=", value,
                "serviceName");

            return this;
        }

        public Criteria andServiceNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ServiceName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andServiceNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ServiceName + " like",
                buffer.toString(), "serviceName");

            return this;
        }

        public Criteria andServiceNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ServiceName + " not like",
                buffer.toString(), "serviceName");

            return this;
        }

        public Criteria andServiceNameIn(List<String> values) {
            if (values.size() == 1) {
                return andServiceNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ServiceName + " in",
                    values, "serviceName");

                return this;
            }
        }

        public Criteria andServiceNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andServiceNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ServiceName + " not in",
                    values, "serviceName");

                return this;
            }
        }

        public Criteria andServiceNameIn(String[] values) {
            if (values.length == 1) {
                return andServiceNameEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ServiceName + " in",
                    Arrays.asList(values), "serviceName");

                return this;
            }
        }

        public Criteria andServiceNameNotIn(String[] values) {
            if (values.length == 1) {
                return andServiceNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ServiceName + " not in",
                    Arrays.asList(values), "serviceName");

                return this;
            }
        }

        public Criteria andServiceNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ServiceName + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andServiceNameBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ServiceName + " between",
                value1, value2, "serviceName");

            return this;
        }

        public Criteria andServiceNameNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ServiceName + " not between",
                value1, value2, "serviceName");

            return this;
        }

        public Criteria andStatusIsNull() {
            addCriterion(IProductModelServiceDAO.Status + " is null");

            return this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion(IProductModelServiceDAO.Status + " is not null");

            return this;
        }

        public Criteria andStatusIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.Status + " is not null AND " +
                IProductModelServiceDAO.Status + " <> ''");

            return this;
        }

        public Criteria andStatusIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.Status + " is null OR " +
                IProductModelServiceDAO.Status + " = '')");

            return this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Status + " = ", value, "status");

            return this;
        }

        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Status);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.Status + " is null OR " +
                IProductModelServiceDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Status);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.Status + " >", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Status);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Status + " >=", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Status);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion(IProductModelServiceDAO.Status + " <", value, "status");

            return this;
        }

        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Status);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Status + " <=", value, "status");

            return this;
        }

        public Criteria andStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Status);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.Status + " like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.Status + " not like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.Status + " in", values,
                    "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.Status + " not in",
                    values, "status");

                return this;
            }
        }

        public Criteria andStatusIn(String[] values) {
            if (values.length == 1) {
                return andStatusEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Status + " in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andStatusNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Status + " not in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Status + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.Status + " between", value1,
                value2, "status");

            return this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.Status + " not between",
                value1, value2, "status");

            return this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion(IProductModelServiceDAO.Remarks + " is null");

            return this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion(IProductModelServiceDAO.Remarks + " is not null");

            return this;
        }

        public Criteria andRemarksIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.Remarks + " is not null AND " +
                IProductModelServiceDAO.Remarks + " <> ''");

            return this;
        }

        public Criteria andRemarksIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.Remarks +
                " is null OR " + IProductModelServiceDAO.Remarks + " = '')");

            return this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " = ", value,
                "remarks");

            return this;
        }

        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Remarks);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " <>", value,
                "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " is null OR " +
                IProductModelServiceDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Remarks);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " >", value,
                "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Remarks);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " >=", value,
                "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Remarks);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " <", value,
                "remarks");

            return this;
        }

        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Remarks);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.Remarks + " <=", value,
                "remarks");

            return this;
        }

        public Criteria andRemarksLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.Remarks);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.Remarks + " like",
                buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.Remarks + " not like",
                buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.Remarks + " in", values,
                    "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.Remarks + " not in",
                    values, "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(String[] values) {
            if (values.length == 1) {
                return andRemarksEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Remarks + " in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(String[] values) {
            if (values.length == 1) {
                return andRemarksNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.Remarks + " not in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.Remarks + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.Remarks + " between", value1,
                value2, "remarks");

            return this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.Remarks + " not between",
                value1, value2, "remarks");

            return this;
        }

        public Criteria andCanTestIsNull() {
            addCriterion(IProductModelServiceDAO.CanTest + " is null");

            return this;
        }

        public Criteria andCanTestIsNotNull() {
            addCriterion(IProductModelServiceDAO.CanTest + " is not null");

            return this;
        }

        public Criteria andCanTestIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.CanTest + " is not null AND " +
                IProductModelServiceDAO.CanTest + " <> ''");

            return this;
        }

        public Criteria andCanTestIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.CanTest +
                " is null OR " + IProductModelServiceDAO.CanTest + " = '')");

            return this;
        }

        public Criteria andCanTestEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " = ", value,
                "canTest");

            return this;
        }

        public Criteria andCanTestEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CanTest);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCanTestEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCanTestNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " <>", value,
                "canTest");

            return this;
        }

        public Criteria andCanTestNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " is null OR " +
                IProductModelServiceDAO.CanTest + " <>", value, "canTest");

            return this;
        }

        public Criteria andCanTestNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CanTest);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCanTestNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCanTestGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " >", value,
                "canTest");

            return this;
        }

        public Criteria andCanTestGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CanTest);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCanTestGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCanTestGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " >=", value,
                "canTest");

            return this;
        }

        public Criteria andCanTestGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CanTest);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCanTestGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCanTestLessThan(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " <", value,
                "canTest");

            return this;
        }

        public Criteria andCanTestLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CanTest);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCanTestLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCanTestLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CanTest + " <=", value,
                "canTest");

            return this;
        }

        public Criteria andCanTestLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CanTest);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCanTestLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCanTestLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.CanTest + " like",
                buffer.toString(), "canTest");

            return this;
        }

        public Criteria andCanTestNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.CanTest + " not like",
                buffer.toString(), "canTest");

            return this;
        }

        public Criteria andCanTestIn(List<String> values) {
            if (values.size() == 1) {
                return andCanTestEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.CanTest + " in", values,
                    "canTest");

                return this;
            }
        }

        public Criteria andCanTestNotIn(List<String> values) {
            if (values.size() == 1) {
                return andCanTestNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.CanTest + " not in",
                    values, "canTest");

                return this;
            }
        }

        public Criteria andCanTestIn(String[] values) {
            if (values.length == 1) {
                return andCanTestEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.CanTest + " in",
                    Arrays.asList(values), "canTest");

                return this;
            }
        }

        public Criteria andCanTestNotIn(String[] values) {
            if (values.length == 1) {
                return andCanTestNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.CanTest + " not in",
                    Arrays.asList(values), "canTest");

                return this;
            }
        }

        public Criteria andCanTestIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCanTestNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CanTest + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCanTestBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.CanTest + " between", value1,
                value2, "canTest");

            return this;
        }

        public Criteria andCanTestNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.CanTest + " not between",
                value1, value2, "canTest");

            return this;
        }

        public Criteria andSubmitterIdIsNull() {
            addCriterion(IProductModelServiceDAO.SubmitterId + " is null");

            return this;
        }

        public Criteria andSubmitterIdIsNotNull() {
            addCriterion(IProductModelServiceDAO.SubmitterId + " is not null");

            return this;
        }

        public Criteria andSubmitterIdIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.SubmitterId +
                " is not null AND " + IProductModelServiceDAO.SubmitterId +
                " <> ''");

            return this;
        }

        public Criteria andSubmitterIdIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.SubmitterId +
                " is null OR " + IProductModelServiceDAO.SubmitterId +
                " = '')");

            return this;
        }

        public Criteria andSubmitterIdEqualTo(long value) {
            return andSubmitterIdEqualTo(Long.valueOf(value));
        }

        public Criteria andSubmitterIdEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " = ", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.SubmitterId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSubmitterIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdNotEqualTo(long value) {
            return andSubmitterIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andSubmitterIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " <>", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdNotEqualToOrIsNull(long value) {
            return andSubmitterIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andSubmitterIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " is null OR " +
                IProductModelServiceDAO.SubmitterId + " <>", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.SubmitterId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSubmitterIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdGreaterThan(long value) {
            return andSubmitterIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andSubmitterIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " >", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.SubmitterId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSubmitterIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdGreaterThanOrEqualTo(long value) {
            return andSubmitterIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andSubmitterIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " >=", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.SubmitterId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSubmitterIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdLessThan(long value) {
            return andSubmitterIdLessThan(Long.valueOf(value));
        }

        public Criteria andSubmitterIdLessThan(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " <", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.SubmitterId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSubmitterIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdLessThanOrEqualTo(long value) {
            return andSubmitterIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andSubmitterIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " <=", value,
                "submitterId");

            return this;
        }

        public Criteria andSubmitterIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.SubmitterId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSubmitterIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdIn(long[] values) {
            if (values.length == 1) {
                return andSubmitterIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.SubmitterId + " in",
                    values, "submitterId");

                return this;
            }
        }

        public Criteria andSubmitterIdNotIn(long[] values) {
            if (values.length == 1) {
                return andSubmitterIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.SubmitterId + " not in",
                    values, "submitterId");

                return this;
            }
        }

        public Criteria andSubmitterIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andSubmitterIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.SubmitterId + " in",
                    values, "submitterId");

                return this;
            }
        }

        public Criteria andSubmitterIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andSubmitterIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.SubmitterId + " not in",
                    values, "submitterId");

                return this;
            }
        }

        public Criteria andSubmitterIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andSubmitterIdEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.SubmitterId + " in",
                    Arrays.asList(values), "submitterId");

                return this;
            }
        }

        public Criteria andSubmitterIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andSubmitterIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.SubmitterId + " not in",
                    Arrays.asList(values), "submitterId");

                return this;
            }
        }

        public Criteria andSubmitterIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSubmitterIdBetween(long value1, long value2) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " between",
                value1, value2, "submitterId");

            return this;
        }

        public Criteria andSubmitterIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " between",
                value1, value2, "submitterId");

            return this;
        }

        public Criteria andSubmitterIdNotBetween(long value1, long value2) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " not between",
                value1, value2, "submitterId");

            return this;
        }

        public Criteria andSubmitterIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductModelServiceDAO.SubmitterId + " not between",
                value1, value2, "submitterId");

            return this;
        }

        public Criteria andCreatorNameIsNull() {
            addCriterion(IProductModelServiceDAO.CreatorName + " is null");

            return this;
        }

        public Criteria andCreatorNameIsNotNull() {
            addCriterion(IProductModelServiceDAO.CreatorName + " is not null");

            return this;
        }

        public Criteria andCreatorNameIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.CreatorName +
                " is not null AND " + IProductModelServiceDAO.CreatorName +
                " <> ''");

            return this;
        }

        public Criteria andCreatorNameIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.CreatorName +
                " is null OR " + IProductModelServiceDAO.CreatorName +
                " = '')");

            return this;
        }

        public Criteria andCreatorNameEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " = ", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreatorName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreatorNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " <>", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " is null OR " +
                IProductModelServiceDAO.CreatorName + " <>", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreatorName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreatorNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " >", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreatorName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreatorNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " >=", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreatorName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreatorNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameLessThan(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " <", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreatorName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreatorNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.CreatorName + " <=", value,
                "creatorName");

            return this;
        }

        public Criteria andCreatorNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreatorName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreatorNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.CreatorName + " like",
                buffer.toString(), "creatorName");

            return this;
        }

        public Criteria andCreatorNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.CreatorName + " not like",
                buffer.toString(), "creatorName");

            return this;
        }

        public Criteria andCreatorNameIn(List<String> values) {
            if (values.size() == 1) {
                return andCreatorNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.CreatorName + " in",
                    values, "creatorName");

                return this;
            }
        }

        public Criteria andCreatorNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andCreatorNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.CreatorName + " not in",
                    values, "creatorName");

                return this;
            }
        }

        public Criteria andCreatorNameIn(String[] values) {
            if (values.length == 1) {
                return andCreatorNameEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.CreatorName + " in",
                    Arrays.asList(values), "creatorName");

                return this;
            }
        }

        public Criteria andCreatorNameNotIn(String[] values) {
            if (values.length == 1) {
                return andCreatorNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.CreatorName + " not in",
                    Arrays.asList(values), "creatorName");

                return this;
            }
        }

        public Criteria andCreatorNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreatorName + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreatorNameBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.CreatorName + " between",
                value1, value2, "creatorName");

            return this;
        }

        public Criteria andCreatorNameNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.CreatorName + " not between",
                value1, value2, "creatorName");

            return this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion(IProductModelServiceDAO.CreateTime + " is null");

            return this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion(IProductModelServiceDAO.CreateTime + " is not null");

            return this;
        }

        public Criteria andCreateTimeIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.CreateTime +
                " is not null AND " + IProductModelServiceDAO.CreateTime +
                " <> ''");

            return this;
        }

        public Criteria andCreateTimeIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.CreateTime +
                " is null OR " + IProductModelServiceDAO.CreateTime + " = '')");

            return this;
        }

        public Criteria andCreateTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime + " = ",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreateTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime + " <>",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeNotEqualToOrIsNull(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                " is null OR " + IProductModelServiceDAO.CreateTime + " <>",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreateTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime + " >",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreateTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime + " >=",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreateTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime + " <",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreateTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime + " <=",
                value, "createTime");

            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.CreateTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andCreateTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                    " in", values, "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andCreateTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                    " not in", values, "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andCreateTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                    " in", Arrays.asList(values), "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andCreateTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                    " not in", Arrays.asList(values), "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.CreateTime + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                " between", value1, value2, "createTime");

            return this;
        }

        public Criteria andCreateTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(IProductModelServiceDAO.CreateTime +
                " not between", value1, value2, "createTime");

            return this;
        }

        public Criteria andLastModifierNameIsNull() {
            addCriterion(IProductModelServiceDAO.LastModifierName + " is null");

            return this;
        }

        public Criteria andLastModifierNameIsNotNull() {
            addCriterion(IProductModelServiceDAO.LastModifierName +
                " is not null");

            return this;
        }

        public Criteria andLastModifierNameIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.LastModifierName +
                " is not null AND " + IProductModelServiceDAO.LastModifierName +
                " <> ''");

            return this;
        }

        public Criteria andLastModifierNameIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.LastModifierName +
                " is null OR " + IProductModelServiceDAO.LastModifierName +
                " = '')");

            return this;
        }

        public Criteria andLastModifierNameEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " = ",
                value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifierName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifierNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " <>",
                value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName +
                " is null OR " + IProductModelServiceDAO.LastModifierName +
                " <>", value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifierName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifierNameNotEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " >",
                value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifierName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifierNameGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " >=",
                value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifierName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifierNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameLessThan(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " <",
                value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameLessThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifierName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifierNameLessThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " <=",
                value, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifierName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifierNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.LastModifierName + " like",
                buffer.toString(), "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.LastModifierName +
                " not like", buffer.toString(), "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameIn(List<String> values) {
            if (values.size() == 1) {
                return andLastModifierNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.LastModifierName + " in",
                    values, "lastModifierName");

                return this;
            }
        }

        public Criteria andLastModifierNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andLastModifierNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.LastModifierName +
                    " not in", values, "lastModifierName");

                return this;
            }
        }

        public Criteria andLastModifierNameIn(String[] values) {
            if (values.length == 1) {
                return andLastModifierNameEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.LastModifierName + " in",
                    Arrays.asList(values), "lastModifierName");

                return this;
            }
        }

        public Criteria andLastModifierNameNotIn(String[] values) {
            if (values.length == 1) {
                return andLastModifierNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.LastModifierName +
                    " not in", Arrays.asList(values), "lastModifierName");

                return this;
            }
        }

        public Criteria andLastModifierNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifierNameBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.LastModifierName + " between",
                value1, value2, "lastModifierName");

            return this;
        }

        public Criteria andLastModifierNameNotBetween(String value1,
            String value2) {
            addCriterion(IProductModelServiceDAO.LastModifierName +
                " not between", value1, value2, "lastModifierName");

            return this;
        }

        public Criteria andLastModifyTimeIsNull() {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " is null");

            return this;
        }

        public Criteria andLastModifyTimeIsNotNull() {
            addCriterion(IProductModelServiceDAO.LastModifyTime +
                " is not null");

            return this;
        }

        public Criteria andLastModifyTimeIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.LastModifyTime +
                " is not null AND " + IProductModelServiceDAO.LastModifyTime +
                " <> ''");

            return this;
        }

        public Criteria andLastModifyTimeIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.LastModifyTime +
                " is null OR " + IProductModelServiceDAO.LastModifyTime +
                " = '')");

            return this;
        }

        public Criteria andLastModifyTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " = ", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifyTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifyTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " <>", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeNotEqualToOrIsNull(
            java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " is null OR " + IProductModelServiceDAO.LastModifyTime +
                " <>", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifyTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifyTimeNotEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " >", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifyTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifyTimeGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeGreaterThanOrEqualTo(
            java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " >=", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifyTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifyTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " <", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeLessThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifyTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifyTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " <=", value, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.LastModifyTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastModifyTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andLastModifyTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                    " in", values, "lastModifyTime");

                return this;
            }
        }

        public Criteria andLastModifyTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andLastModifyTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                    " not in", values, "lastModifyTime");

                return this;
            }
        }

        public Criteria andLastModifyTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andLastModifyTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                    " in", Arrays.asList(values), "lastModifyTime");

                return this;
            }
        }

        public Criteria andLastModifyTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andLastModifyTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                    " not in", Arrays.asList(values), "lastModifyTime");

                return this;
            }
        }

        public Criteria andLastModifyTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.LastModifyTime + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andLastModifyTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " between", value1, value2, "lastModifyTime");

            return this;
        }

        public Criteria andLastModifyTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(IProductModelServiceDAO.LastModifyTime +
                " not between", value1, value2, "lastModifyTime");

            return this;
        }

        public Criteria andObjectNameIsNull() {
            addCriterion(IProductModelServiceDAO.ObjectName + " is null");

            return this;
        }

        public Criteria andObjectNameIsNotNull() {
            addCriterion(IProductModelServiceDAO.ObjectName + " is not null");

            return this;
        }

        public Criteria andObjectNameIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ObjectName +
                " is not null AND " + IProductModelServiceDAO.ObjectName +
                " <> ''");

            return this;
        }

        public Criteria andObjectNameIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ObjectName +
                " is null OR " + IProductModelServiceDAO.ObjectName + " = '')");

            return this;
        }

        public Criteria andObjectNameEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " = ", value,
                "objectName");

            return this;
        }

        public Criteria andObjectNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " <>", value,
                "objectName");

            return this;
        }

        public Criteria andObjectNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " is null OR " +
                IProductModelServiceDAO.ObjectName + " <>", value, "objectName");

            return this;
        }

        public Criteria andObjectNameNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " >", value,
                "objectName");

            return this;
        }

        public Criteria andObjectNameGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " >=", value,
                "objectName");

            return this;
        }

        public Criteria andObjectNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameLessThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " <", value,
                "objectName");

            return this;
        }

        public Criteria andObjectNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectName + " <=", value,
                "objectName");

            return this;
        }

        public Criteria andObjectNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectName + " like",
                buffer.toString(), "objectName");

            return this;
        }

        public Criteria andObjectNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectName + " not like",
                buffer.toString(), "objectName");

            return this;
        }

        public Criteria andObjectNameIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectName + " in",
                    values, "objectName");

                return this;
            }
        }

        public Criteria andObjectNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectName + " not in",
                    values, "objectName");

                return this;
            }
        }

        public Criteria andObjectNameIn(String[] values) {
            if (values.length == 1) {
                return andObjectNameEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectName + " in",
                    Arrays.asList(values), "objectName");

                return this;
            }
        }

        public Criteria andObjectNameNotIn(String[] values) {
            if (values.length == 1) {
                return andObjectNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectName + " not in",
                    Arrays.asList(values), "objectName");

                return this;
            }
        }

        public Criteria andObjectNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectName + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectNameBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectName + " between",
                value1, value2, "objectName");

            return this;
        }

        public Criteria andObjectNameNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectName + " not between",
                value1, value2, "objectName");

            return this;
        }

        public Criteria andObjectCodeIsNull() {
            addCriterion(IProductModelServiceDAO.ObjectCode + " is null");

            return this;
        }

        public Criteria andObjectCodeIsNotNull() {
            addCriterion(IProductModelServiceDAO.ObjectCode + " is not null");

            return this;
        }

        public Criteria andObjectCodeIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ObjectCode +
                " is not null AND " + IProductModelServiceDAO.ObjectCode +
                " <> ''");

            return this;
        }

        public Criteria andObjectCodeIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ObjectCode +
                " is null OR " + IProductModelServiceDAO.ObjectCode + " = '')");

            return this;
        }

        public Criteria andObjectCodeEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " = ", value,
                "objectCode");

            return this;
        }

        public Criteria andObjectCodeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectCode);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectCodeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " <>", value,
                "objectCode");

            return this;
        }

        public Criteria andObjectCodeNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " is null OR " +
                IProductModelServiceDAO.ObjectCode + " <>", value, "objectCode");

            return this;
        }

        public Criteria andObjectCodeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectCode);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectCodeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " >", value,
                "objectCode");

            return this;
        }

        public Criteria andObjectCodeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectCode);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectCodeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " >=", value,
                "objectCode");

            return this;
        }

        public Criteria andObjectCodeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectCode);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectCodeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeLessThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " <", value,
                "objectCode");

            return this;
        }

        public Criteria andObjectCodeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectCode);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectCodeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " <=", value,
                "objectCode");

            return this;
        }

        public Criteria andObjectCodeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectCode);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectCodeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectCode + " like",
                buffer.toString(), "objectCode");

            return this;
        }

        public Criteria andObjectCodeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectCode + " not like",
                buffer.toString(), "objectCode");

            return this;
        }

        public Criteria andObjectCodeIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectCodeEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectCode + " in",
                    values, "objectCode");

                return this;
            }
        }

        public Criteria andObjectCodeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectCodeNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectCode + " not in",
                    values, "objectCode");

                return this;
            }
        }

        public Criteria andObjectCodeIn(String[] values) {
            if (values.length == 1) {
                return andObjectCodeEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectCode + " in",
                    Arrays.asList(values), "objectCode");

                return this;
            }
        }

        public Criteria andObjectCodeNotIn(String[] values) {
            if (values.length == 1) {
                return andObjectCodeNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectCode + " not in",
                    Arrays.asList(values), "objectCode");

                return this;
            }
        }

        public Criteria andObjectCodeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectCodeBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " between",
                value1, value2, "objectCode");

            return this;
        }

        public Criteria andObjectCodeNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectCode + " not between",
                value1, value2, "objectCode");

            return this;
        }

        public Criteria andObjectTypeIsNull() {
            addCriterion(IProductModelServiceDAO.ObjectType + " is null");

            return this;
        }

        public Criteria andObjectTypeIsNotNull() {
            addCriterion(IProductModelServiceDAO.ObjectType + " is not null");

            return this;
        }

        public Criteria andObjectTypeIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ObjectType +
                " is not null AND " + IProductModelServiceDAO.ObjectType +
                " <> ''");

            return this;
        }

        public Criteria andObjectTypeIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ObjectType +
                " is null OR " + IProductModelServiceDAO.ObjectType + " = '')");

            return this;
        }

        public Criteria andObjectTypeEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " = ", value,
                "objectType");

            return this;
        }

        public Criteria andObjectTypeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectType);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectTypeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " <>", value,
                "objectType");

            return this;
        }

        public Criteria andObjectTypeNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " is null OR " +
                IProductModelServiceDAO.ObjectType + " <>", value, "objectType");

            return this;
        }

        public Criteria andObjectTypeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectType);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectTypeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " >", value,
                "objectType");

            return this;
        }

        public Criteria andObjectTypeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectType);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectTypeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " >=", value,
                "objectType");

            return this;
        }

        public Criteria andObjectTypeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectType);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectTypeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeLessThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " <", value,
                "objectType");

            return this;
        }

        public Criteria andObjectTypeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectType);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectTypeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectType + " <=", value,
                "objectType");

            return this;
        }

        public Criteria andObjectTypeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectType);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectTypeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectType + " like",
                buffer.toString(), "objectType");

            return this;
        }

        public Criteria andObjectTypeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectType + " not like",
                buffer.toString(), "objectType");

            return this;
        }

        public Criteria andObjectTypeIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectTypeEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectType + " in",
                    values, "objectType");

                return this;
            }
        }

        public Criteria andObjectTypeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectTypeNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectType + " not in",
                    values, "objectType");

                return this;
            }
        }

        public Criteria andObjectTypeIn(String[] values) {
            if (values.length == 1) {
                return andObjectTypeEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectType + " in",
                    Arrays.asList(values), "objectType");

                return this;
            }
        }

        public Criteria andObjectTypeNotIn(String[] values) {
            if (values.length == 1) {
                return andObjectTypeNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectType + " not in",
                    Arrays.asList(values), "objectType");

                return this;
            }
        }

        public Criteria andObjectTypeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectType + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectTypeBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectType + " between",
                value1, value2, "objectType");

            return this;
        }

        public Criteria andObjectTypeNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectType + " not between",
                value1, value2, "objectType");

            return this;
        }

        public Criteria andObjectStatusIsNull() {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " is null");

            return this;
        }

        public Criteria andObjectStatusIsNotNull() {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " is not null");

            return this;
        }

        public Criteria andObjectStatusIsNotEmpty() {
            addCriterion(IProductModelServiceDAO.ObjectStatus +
                " is not null AND " + IProductModelServiceDAO.ObjectStatus +
                " <> ''");

            return this;
        }

        public Criteria andObjectStatusIsEmpty() {
            addCriterion("(" + IProductModelServiceDAO.ObjectStatus +
                " is null OR " + IProductModelServiceDAO.ObjectStatus +
                " = '')");

            return this;
        }

        public Criteria andObjectStatusEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " = ", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectStatus);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusNotEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " <>", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusNotEqualToOrIsNull(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " is null OR " +
                IProductModelServiceDAO.ObjectStatus + " <>", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectStatus);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusGreaterThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " >", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectStatus);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusGreaterThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " >=", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectStatus);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusLessThan(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " <", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectStatus);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusLessThanOrEqualTo(String value) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " <=", value,
                "objectStatus");

            return this;
        }

        public Criteria andObjectStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductModelServiceDAO.ObjectStatus);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andObjectStatusLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectStatus + " like",
                buffer.toString(), "objectStatus");

            return this;
        }

        public Criteria andObjectStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductModelServiceDAO.ObjectStatus + " not like",
                buffer.toString(), "objectStatus");

            return this;
        }

        public Criteria andObjectStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectStatusEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectStatus + " in",
                    values, "objectStatus");

                return this;
            }
        }

        public Criteria andObjectStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andObjectStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductModelServiceDAO.ObjectStatus + " not in",
                    values, "objectStatus");

                return this;
            }
        }

        public Criteria andObjectStatusIn(String[] values) {
            if (values.length == 1) {
                return andObjectStatusEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectStatus + " in",
                    Arrays.asList(values), "objectStatus");

                return this;
            }
        }

        public Criteria andObjectStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andObjectStatusNotEqualTo(values[0]);
            } else {
                addCriterion(IProductModelServiceDAO.ObjectStatus + " not in",
                    Arrays.asList(values), "objectStatus");

                return this;
            }
        }

        public Criteria andObjectStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andObjectStatusBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " between",
                value1, value2, "objectStatus");

            return this;
        }

        public Criteria andObjectStatusNotBetween(String value1, String value2) {
            addCriterion(IProductModelServiceDAO.ObjectStatus + " not between",
                value1, value2, "objectStatus");

            return this;
        }
    }
}
